//package com.metal.gear.common.util.system;
//
//import com.metal.gear.common.util.SpringContextUtils;
//import com.metal.gear.common.vo.SysPermissionDataRuleModel;
//import com.metal.gear.common.vo.SysUserCacheInfo;
//import jakarta.servlet.http.HttpServletRequest;
//import org.springframework.util.StringUtils;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @ClassName:
// * @Description: 数据权限查询规则容器工具类
// * @Author:
// * @Date: 2012-12-15 下午11:27:39
// *
// */
//public class SzlDataAutorUtils {
//
//	public static final String MENU_DATA_AUTHOR_RULES = "MENU_DATA_AUTHOR_RULES";
//
//	public static final String MENU_DATA_AUTHOR_RULE_SQL = "MENU_DATA_AUTHOR_RULE_SQL";
//
//	public static final String SYS_USER_INFO = "SYS_USER_INFO";
//
//	/**
//	 * 往链接请求里面，传入数据查询条件
//	 *
//	 * @param request
//	 * @param dataRules
//	 */
//	public static synchronized void installDataSearchConditon(HttpServletRequest request, List<SysPermissionDataRuleModel> dataRules) {
//		@SuppressWarnings("unchecked")
//        // 1.先从request获取MENU_DATA_AUTHOR_RULES，如果存则获取到LIST
//		List<SysPermissionDataRuleModel> list = (List<SysPermissionDataRuleModel>)loadDataSearchConditon();
//		if (list==null) {
//			// 2.如果不存在，则new一个list
//			list = new ArrayList<SysPermissionDataRuleModel>();
//		}
//		for (SysPermissionDataRuleModel tsDataRule : dataRules) {
//			list.add(tsDataRule);
//		}
//        // 3.往list里面增量存指
//		request.setAttribute(MENU_DATA_AUTHOR_RULES, list);
//	}
//
//	/**
//	 * 获取请求对应的数据权限规则
//	 *
//	 * @return
//	 */
//	@SuppressWarnings("unchecked")
//	public static synchronized List<SysPermissionDataRuleModel> loadDataSearchConditon() {
//		return (List<SysPermissionDataRuleModel>) SpringContextUtils.getHttpServletRequest().getAttribute(MENU_DATA_AUTHOR_RULES);
//
//	}
//
//	/**
//	 * 获取请求对应的数据权限SQL
//	 *
//	 * @return
//	 */
//	public static synchronized String loadDataSearchConditonSqlString() {
//		return (String) SpringContextUtils.getHttpServletRequest().getAttribute(MENU_DATA_AUTHOR_RULE_SQL);
//	}
//
//	/**
//	 * 往链接请求里面，传入数据查询条件
//	 *
//	 * @param request
//	 * @param sql
//	 */
//	public static synchronized void installDataSearchConditon(HttpServletRequest request, String sql) {
//		String ruleSql = (String) loadDataSearchConditonSqlString();
//		if (!StringUtils.hasText(ruleSql)) {
//			request.setAttribute(MENU_DATA_AUTHOR_RULE_SQL,sql);
//		}
//	}
//
//	/**
//	 * 将用户信息存到request
//	 * @param request
//	 * @param userinfo
//	 */
//	public static synchronized void installUserInfo(HttpServletRequest request, SysUserCacheInfo userinfo) {
//		request.setAttribute(SYS_USER_INFO, userinfo);
//	}
//
//	/**
//	 * 将用户信息存到request
//	 * @param userinfo
//	 */
//	public static synchronized void installUserInfo(SysUserCacheInfo userinfo) {
//		SpringContextUtils.getHttpServletRequest().setAttribute(SYS_USER_INFO, userinfo);
//	}
//
//	/**
//	 * 从request获取用户信息
//	 * @return
//	 */
//	public static synchronized SysUserCacheInfo loadUserInfo() {
//		return (SysUserCacheInfo) SpringContextUtils.getHttpServletRequest().getAttribute(SYS_USER_INFO);
//
//	}
//}
